package com.hst.capacity.application.biz;

import com.hst.capacity.domain.model.request.agent.AgentSaveParam;
import com.hst.capacity.domain.model.request.agent.AgentSearchParam;
import com.hst.capacity.domain.model.request.agent.AgentStatusParam;
import com.hst.capacity.domain.model.response.PagingResultVO;
import com.hst.capacity.domain.model.response.agent.AgentCommisionSaveParam;
import com.hst.capacity.domain.model.response.agent.AgentCommisionSelectVO;
import com.hst.capacity.domain.model.response.agent.AgentDriverNumberCountVO;
import com.hst.capacity.domain.model.response.agent.AgentSearchVO;

import java.util.List;

public interface AgentBiz {
    
    PagingResultVO<AgentSearchVO> search(AgentSearchParam param);

    String save(AgentSaveParam param);

    AgentSearchVO select(String idAgent);

    Boolean statusOpen(AgentStatusParam param);

    Boolean statusFreeze(AgentStatusParam param);

    AgentDriverNumberCountVO driverAgentCount(String idAgent);

    List byFranchiseeList(String idFranchisee);

    AgentCommisionSelectVO commisionSelect(String idAgent);

    Object commisionSave(AgentCommisionSaveParam param);

    AgentCommisionSaveParam commisionSaveSelect(String idAgentCommision);

    Boolean refreshAgentNumber(String idAgent);

}
